Dynomotion

Group: DynoMotion Message: 2060 From: himykabibble Date: 10/29/2011
Subject: Pendant/MPG Implementation
Tom,

I've looked at the Init3AnalogPlusMPG example, which is clear, as far as it goes. What strikes me as odd is that it seems to blindly queue up moves, with no regard to the state of the system. What happens if I'm running a G-code program, and give the MPG a spin? It looks to me like it would blindly stomp the current axis targets. What am I missing?

Also, since this is running on the KFlop, how do I handle higher-level functions, like buttons for Run/Stop/FeedHold, etc., since it appears the DSP really has no knowledge of what's happening at that level?

Regards,
Ray L.
Group: DynoMotion Message: 2062 From: Tom Kerekes Date: 10/29/2011
Subject: Re: Pendant/MPG Implementation
Hi Ray,
 
Yes that is an issue and something we should address.  We would need to figure out a way to know when Mach3 is doing things.  There is a way in KFLOP to know that coordinated motion is in progress.  We might try using that to disable the MPG code.  I'm not sure if that would cover all the cases, probably not.  Do you know if in Mach3 there is a variable or LED that would tell us when a File is executing?  I think most users simply add a toggle switch or momentary pushbutton to enable the MPG if that concerns them.
 
 
I thought we discussed external buttons before.  With Mach3 those can be handled as before as external event inputs or with your PoKeys.   With the exception of FeedHold which would be deterministic if handled as Hardware feedhold in KFLOP.  With KMotionCNC we don't currently have a method of external events.  One problem with Keyboard events is that KMotionCNC uses a more traditional Windows interface where keyboard events change depending on the Window Focus.  We are open to ideas here.
 
Regards
TK

Group: DynoMotion Message: 2063 From: himykabibble Date: 10/29/2011
Subject: Re: Pendant/MPG Implementation
Tom,

Mach3 does have a JogEnable, which can be set/cleared by the user. It would be easy enough to have any CycleStart clear JogEnable. I believe there is an LED that actually indicates a program is currently running, which is what you really need, but I don't recall where it is. I could always ask Brian to add one, if it's not there.

I seem to have my motor outputs and Enable configured and working. I hope to actually wire it up to the machine tomorrow!

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Ray,
>  
> Yes that is an issue and something we should address.  We would need to figure out a way to know when Mach3 is doing things.  There is a way in KFLOP to know that coordinated motion is in progress.  We might try using that to disable the MPG code.  I'm not sure if that would cover all the cases, probably not.  Do you know if in Mach3 there is a variable or LED that would tell us when a File is executing?  I think most users simply add a toggle switch or momentary pushbutton to enable the MPG if that concerns them.
>  
>  
> I thought we discussed external buttons before.  With Mach3 those can be handled as before as external event inputs or with your PoKeys.   With the exception of FeedHold which would be deterministic if handled as Hardware feedhold in KFLOP.  With KMotionCNC we don't currently have a method of external events.  One problem with Keyboard events is that KMotionCNC uses a more traditional Windows interface where keyboard events change depending on the Window Focus.  We are open to ideas here.
>  
> Regards
> TK
>
>
> ________________________________
> From: himykabibble <jagboy@...>
> To: DynoMotion@yahoogroups.com
> Sent: Saturday, October 29, 2011 9:03 AM
> Subject: [DynoMotion] Pendant/MPG Implementation
>
>
>  
> Tom,
>
> I've looked at the Init3AnalogPlusMPG example, which is clear, as far as it goes. What strikes me as odd is that it seems to blindly queue up moves, with no regard to the state of the system. What happens if I'm running a G-code program, and give the MPG a spin? It looks to me like it would blindly stomp the current axis targets. What am I missing?
>
> Also, since this is running on the KFlop, how do I handle higher-level functions, like buttons for Run/Stop/FeedHold, etc., since it appears the DSP really has no knowledge of what's happening at that level?
>
> Regards,
> Ray L.
>
Group: DynoMotion Message: 2076 From: himykabibble Date: 10/31/2011
Subject: Re: Pendant/MPG Implementation
Tom,

OEM LED 804 is set whenever a program is running. It does not get cleared when an M00 is being executed, which I think it should, but otherwise it seems to do what's needed.

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@...> wrote:
>
> Tom,
>
> Mach3 does have a JogEnable, which can be set/cleared by the user. It would be easy enough to have any CycleStart clear JogEnable. I believe there is an LED that actually indicates a program is currently running, which is what you really need, but I don't recall where it is. I could always ask Brian to add one, if it's not there.
>
> I seem to have my motor outputs and Enable configured and working. I hope to actually wire it up to the machine tomorrow!
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> >
> > Hi Ray,
> >  
> > Yes that is an issue and something we should address.  We would need to figure out a way to know when Mach3 is doing things.  There is a way in KFLOP to know that coordinated motion is in progress.  We might try using that to disable the MPG code.  I'm not sure if that would cover all the cases, probably not.  Do you know if in Mach3 there is a variable or LED that would tell us when a File is executing?  I think most users simply add a toggle switch or momentary pushbutton to enable the MPG if that concerns them.
> >  
> >  
> > I thought we discussed external buttons before.  With Mach3 those can be handled as before as external event inputs or with your PoKeys.   With the exception of FeedHold which would be deterministic if handled as Hardware feedhold in KFLOP.  With KMotionCNC we don't currently have a method of external events.  One problem with Keyboard events is that KMotionCNC uses a more traditional Windows interface where keyboard events change depending on the Window Focus.  We are open to ideas here.
> >  
> > Regards
> > TK
> >
> >
> > ________________________________
> > From: himykabibble <jagboy@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Saturday, October 29, 2011 9:03 AM
> > Subject: [DynoMotion] Pendant/MPG Implementation
> >
> >
> >  
> > Tom,
> >
> > I've looked at the Init3AnalogPlusMPG example, which is clear, as far as it goes. What strikes me as odd is that it seems to blindly queue up moves, with no regard to the state of the system. What happens if I'm running a G-code program, and give the MPG a spin? It looks to me like it would blindly stomp the current axis targets. What am I missing?
> >
> > Also, since this is running on the KFlop, how do I handle higher-level functions, like buttons for Run/Stop/FeedHold, etc., since it appears the DSP really has no knowledge of what's happening at that level?
> >
> > Regards,
> > Ray L.
> >
>
Group: DynoMotion Message: 2077 From: Tom Kerekes Date: 10/31/2011
Subject: Re: Pendant/MPG Implementation
Hi Ray,
 
So I suppose a solution would be to add something like a Mach3 Macro Pump (or I suppose a "Brain") to set a KFLOP Output Bit (such as IO 46 which is a KFLOP LED).  Then add a test "if (ReadBit(46)"  in the KFLOP MPG code to ignore the MPG when the bit is set.  In the future we might add the Macro Pump functionality to the Plugin to avoid the need for the Macro Pump.
 
Regards
TK 
Group: DynoMotion Message: 2078 From: himykabibble Date: 10/31/2011
Subject: Re: Pendant/MPG Implementation
Tom,

That is what I would do. I'd also have to find a way around the M00 limitation, as I often need to jog when paused for an M00 (for tool changes, fixture changes, etc.). But that could be easily handled by having an over-ride that must be explicitly set by the user, and gets automatically cleared when LED 804 gets set.

I'll have to go through this to get my pendant working as I want, so I'll let you know what I come up with, and whether there are any "gotchas". For now, I'll just add this check to my pendant "driver", which is just a macropump.

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Ray,
>  
> So I suppose a solution would be to add something like a Mach3 Macro Pump (or I suppose a "Brain") to set a KFLOP Output Bit (such as IO 46 which is a KFLOP LED).  Then add a test "if (ReadBit(46)"  in the KFLOP MPG code to ignore the MPG when the bit is set.  In the future we might add the Macro Pump functionality to the Plugin to avoid the need for the Macro Pump.
>  
> Regards
> TK 
>
> From: himykabibble <jagboy@...>
> To: DynoMotion@yahoogroups.com
> Sent: Monday, October 31, 2011 10:01 AM
> Subject: [DynoMotion] Re: Pendant/MPG Implementation
>
>
>  
> Tom,
>
> OEM LED 804 is set whenever a program is running. It does not get cleared when an M00 is being executed, which I think it should, but otherwise it seems to do what's needed.
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@> wrote:
> >
> > Tom,
> >
> > Mach3 does have a JogEnable, which can be set/cleared by the user. It would be easy enough to have any CycleStart clear JogEnable. I believe there is an LED that actually indicates a program is currently running, which is what you really need, but I don't recall where it is. I could always ask Brian to add one, if it's not there.
> >
> > I seem to have my motor outputs and Enable configured and working. I hope to actually wire it up to the machine tomorrow!
> >
> > Regards,
> > Ray L.
> >
> > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > >
> > > Hi Ray,
> > >  
> > > Yes that is an issue and something we should address.  We would need to figure out a way to know when Mach3 is doing things.  There is a way in KFLOP to know that coordinated motion is in progress.  We might try using that to disable the MPG code.  I'm not sure if that would cover all the cases, probably not.  Do you know if in Mach3 there is a variable or LED that would tell us when a File is executing?  I think most users simply add a toggle switch or momentary pushbutton to enable the MPG if that concerns them.
> > >  
> > >  
> > > I thought we discussed external buttons before.  With Mach3 those can be handled as before as external event inputs or with your PoKeys.   With the exception of FeedHold which would be deterministic if handled as Hardware feedhold in KFLOP.  With KMotionCNC we don't currently have a method of external events.  One problem with Keyboard events is that KMotionCNC uses a more traditional Windows interface where keyboard events change depending on the Window Focus.  We are open to ideas here.
> > >  
> > > Regards
> > > TK
> > >
> > >
> > > ________________________________
> > > From: himykabibble <jagboy@>
> > > To: DynoMotion@yahoogroups.com
> > > Sent: Saturday, October 29, 2011 9:03 AM
> > > Subject: [DynoMotion] Pendant/MPG Implementation
> > >
> > >
> > >  
> > > Tom,
> > >
> > > I've looked at the Init3AnalogPlusMPG example, which is clear, as far as it goes. What strikes me as odd is that it seems to blindly queue up moves, with no regard to the state of the system. What happens if I'm running a G-code program, and give the MPG a spin? It looks to me like it would blindly stomp the current axis targets. What am I missing?
> > >
> > > Also, since this is running on the KFlop, how do I handle higher-level functions, like buttons for Run/Stop/FeedHold, etc., since it appears the DSP really has no knowledge of what's happening at that level?
> > >
> > > Regards,
> > > Ray L.
> > >
> >
>